<?php
defined('_IN_CMS') or die('Fuck off');

class Gb extends Db
{
    use data, face, rights;
    
    public $data;
    private $errors; // Для ошибок
    private $notif; // Для сообщений/предупреждений
    
    public function addMessage($user)
    {
        if ((self::can($user, 1)) || (self::can($user, 17))) {
            // Если SVI
            // Или может писать сообщения в гостевую
            // Добавляем сообщение в гостевую
            $answer = (int)$_POST['captcha'];
            if ((isset($_POST['article'])) && (isset($_POST['captcha']))) {
                if (isset($_SESSION['answer'])) {
                    if ($answer != (int)$_SESSION['answer']) {
                        $this->errors[] = 'Неверно введён проверочный код';
                        if (self::can($user, 1)) {
                            //unset($this->errors);
                        }
                    }
                } else {
                    $this->errors[] = 'Включи cookies и обнови страницу';
                }
                if ($_SESSION['gb_message_text'] == $_POST['article']) {
                    // Повтор сообщения, завершаемся
                    $this->errors[] = 'Ты уже вводил это сообщение';
                } 
                if (empty($this->errors)) {
                    $text = $this->filter_gb_message($_POST['article']);
                    $_SESSION['gb_message_text'] = $text; // последнее написанное сообщение, чтобы избежать повтора
                    self::db_query("INSERT INTO `".core::$table_name['gb']."` (`ip`, `ua`, `author`, `text`, `hidden`) VALUES
                    ('$user->ip', '$user->ua', '$user->id', '$text', '0') --");
                    $this->notif[] = 'Сообщение добавлено';
                }
            }
        } else {
            $this->errors[] = 'У тебя нет прав для отправки сообщения';
        }
        if (!empty($this->errors)) {
            $this->printError($this->errors);
        }
    }
    
    public function showMessages()
    {
        // Показать сообщения гостевой
        $gb_messages = self::db_query("SELECT * FROM `".core::$table_name['gb']."`, `users00` WHERE `".core::$table_name['gb']."`.`author` = `users00`.`id` ORDER BY `".core::$table_name['gb']."`.`id` DESC LIMIT 10 --");
        if (mysql_num_rows($gb_messages) > 0) {
            $n = mysql_num_rows($gb_messages);
            for($i = 0; $i < $n; $i++) {
                $this->data['date'] = date("G:i d.m.Y", strtotime(mysql_result($gb_messages, $i, 'date')));
                $this->data['author'] = mysql_result($gb_messages, $i, 'users00.login');
                $this->data['text'] = $this->filter_bb($this->filter_tags(mysql_result($gb_messages, $i, 'text')));
                $this->data['id'] = (int)mysql_result($gb_messages, $i, 'author');
                $this->data['answer'] = (int)mysql_result($gb_messages, $i, 'answer');
                $this->showMessagesFaceGb($this->data);
            }
        } else {
            echo 'Комментариев нет';
        }
        $_SESSION['gb_message_added'] = '0';
    }
}

?>
